package com.victualler.business.inventory.dto.request;

import com.victualler.core.common.annotation.ListPageQuery;
import com.victualler.core.common.annotation.SimpleQueryFrom;
import com.victualler.core.common.annotation.SimpleQueryWhere;
import com.victualler.core.common.enums.ColumnFormatEnum;
import com.victualler.core.common.enums.LinkType;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Guoshichang
 * @since 16:11 on 2018/10/5.
 */
@SimpleQueryFrom(value = "inventory_order InventoryOrderDao")
public class InventoryRequestDto implements Serializable {

    //订单号
    @SimpleQueryWhere(specialName = "InventoryOrderDao.order_no",linkType = LinkType.LIKE)
    @ListPageQuery(title = "订单号")
    private String orderNo;

    //经办人
    @SimpleQueryWhere(specialName = "InventoryOrderDao.depot_name",linkType = LinkType.LIKE)
    @ListPageQuery(title = "仓库")
    private String depotName;

    /**库存类型 出库 入库*/
    @SimpleQueryWhere(specialName = "InventoryOrderDao.storage_Type")
    @ListPageQuery(title = "类型",type = ColumnFormatEnum.DICT,dictCodeType = "StorageType")
    public String storageType;

    //创建时间起期
    @SimpleQueryWhere(specialName = "InventoryOrderDao.create_date",linkType = LinkType.BETWEEN,betweenStartField = "createDateStart" , betweenEndField = "createDateEnd")
    @ListPageQuery(title = "录单时间起期",type = ColumnFormatEnum.DATE)
    private Date createDateStart;

    //创建时间止期
    @ListPageQuery(title = "录单时间止期",type = ColumnFormatEnum.DATE)
    private Date createDateEnd;

    //经办人
    @SimpleQueryWhere(specialName = "InventoryOrderDao.made_user",linkType = LinkType.LIKE)
    @ListPageQuery(title = "经办人")
    private String madeUser;



    //审核人
    @SimpleQueryWhere(specialName = "InventoryOrderDao.check_user",linkType = LinkType.LIKE)
    @ListPageQuery(title = "审核人")
    private String checkUser;

    //审核状态
    @SimpleQueryWhere(specialName = "InventoryOrderDao.check_state")
    @ListPageQuery(title = "审核状态",type = ColumnFormatEnum.DICT,dictCodeType = "CheckState")
    private Integer checkState;



    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Date getCreateDateStart() {
        return createDateStart;
    }

    public void setCreateDateStart(Date createDateStart) {
        this.createDateStart = createDateStart;
    }

    public Date getCreateDateEnd() {
        return createDateEnd;
    }

    public void setCreateDateEnd(Date createDateEnd) {
        this.createDateEnd = createDateEnd;
    }

    public String getMadeUser() {
        return madeUser;
    }

    public void setMadeUser(String madeUser) {
        this.madeUser = madeUser;
    }

    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    public Integer getCheckState() {
        return checkState;
    }

    public void setCheckState(Integer checkState) {
        this.checkState = checkState;
    }

    public String getDepotName() {
        return depotName;
    }

    public void setDepotName(String depotName) {
        this.depotName = depotName;
    }

    public String getStorageType() {
        return storageType;
    }

    public void setStorageType(String storageType) {
        this.storageType = storageType;
    }
}
